package com.ynet.middleground.user.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.ynet.middleground.user.bean.CertMixQueryReqPager;
import com.ynet.middleground.user.dto.UserCfcaInfoDTO;
import com.ynet.middleground.user.dto.UserEsignInfoDTO;

/**
 * @author liulx
 * @description 证书综合处理自定义Mapper
 * @date 2020-01-06 17:01
 */
public interface CertMapper {

    /**
     * 软证书（esign）综合查询
     * 
     * @param certMixQueryReqPager
     *            证书混合查询请求对象
     * @return esign 证书列表
     */
    List<UserEsignInfoDTO> listCertEsign(@Param("certMixQueryReqPager") CertMixQueryReqPager certMixQueryReqPager,
        @Param("userId") Integer userId, @Param("pageStart") Integer pageStart);

    /**
     * 软证书（esign）综合查询总数量
     * 
     * @param certMixQueryReqPager
     *            证书混合查询请求对象
     * @return 总数
     */
    Integer countCertEsign(@Param("certMixQueryReqPager") CertMixQueryReqPager certMixQueryReqPager,
        @Param("userId") Integer userId);

    /**
     * 硬证书（cfca）综合查询
     * 
     * @param certMixQueryReqPager
     *            证书混合查询请求对象
     * @return cfca 证书列表
     */
    List<UserCfcaInfoDTO> listCertCfca(@Param("certMixQueryReqPager") CertMixQueryReqPager certMixQueryReqPager,
        @Param("userId") Integer userId, @Param("pageStart") Integer pageStart);

    /**
     * 硬证书（cfca）综合查询总数量
     * 
     * @param certMixQueryReqPager
     *            证书混合查询请求对象
     * @return 总数
     */
    Integer countCertCfca(@Param("certMixQueryReqPager") CertMixQueryReqPager certMixQueryReqPager,
        @Param("userId") Integer userId);

}
